package p141;


import java.util.HashMap;
import java.util.Map;

import node.ListNode;

public class Solution {
    public static void main(String[] args) {

    }

//    public static boolean hasCycle(ListNode head) {
//        if (head == null || head.next == null)
//            return false;
//        ListNode fast = head;
//        ListNode slow = head.next;
//        while (fast != slow) {
//            if (fast == null || fast.next == null)
//                return false;
//            fast = fast.next.next;
//            slow = slow.next;
//        }
//        return true;
//    }

    Map<ListNode,ListNode> map = new HashMap<>();
    public boolean hasCycle(ListNode head) {
        while(head != null){
            if(map.containsKey(head)){
                return true;
            }else{
                map.put(head,head);
            }
            head = head.next;
        }
        return false;
    }
}
